import http from '@/utils/request'
import { setToken } from '@/utils/token.js'

/**
 * 检查用户是否存在
 * @param {string} username 用户名
 * @returns {Promise<boolean>} 用户是否存在
 */
export function checkUserExists(username) {
    console.log(username)
    return http.post('/api/v1/user/user/check/', { union_username: username })
}

/**
 * 用户注册
 * @param {string} username 用户名（3-20字符）
 * @param {string} password 密码（3-20字符）
 * @param {string} confirmPassword 确认密码（3-20字符）
 * @param {string} nickname 昵称（3-20字符）
 * @returns {Promise<Object>} 注册结果
 */
export function register(username, password, confirmPassword, nickname) {
    const res = http.post('/api/v1/user/user/register/', {
        username,
        password,
        confirm_password: confirmPassword,
        nickname
    })
    if (res.token) {
        setToken(res.token)
    }
    return res
}

/**
 * 用户登录
 * @param {string} username 用户名
 * @param {string} password 密码
 * @param {number} tokenMaxAge Token有效期（天）
 * @returns {Promise<Object>} 登录结果
 */
export function login(username, password, tokenMaxAge = 30) {
    const res = http.post('/api/v1/user/user/login/', {
        union_username: username,
        password,
        token_max_age: tokenMaxAge
    })
    return res
}

// import { checkUserExists } from '@/api/user'

// // 在组件中使用
// const exists = await checkUserExists('test_user')